import request from '@/utils/request'

// 角色管理API

/**
 * 获取角色列表
 */
export function getRoleList(params) {
  return request({
    url: '/api/admin/roles/list',
    method: 'get',
    params
  })
}

/**
 * 获取角色详情
 */
export function getRoleById(id) {
  return request({
    url: `/api/admin/roles/${id}`,
    method: 'get'
  })
}

/**
 * 创建角色
 */
export function createRole(data) {
  return request({
    url: '/api/admin/roles/create',
    method: 'post',
    data
  })
}

/**
 * 更新角色
 */
export function updateRole(id, data) {
  return request({
    url: `/api/admin/roles/${id}`,
    method: 'put',
    data
  })
}

/**
 * 删除角色
 */
export function deleteRole(id) {
  return request({
    url: `/api/admin/roles/${id}`,
    method: 'delete'
  })
}

/**
 * 为角色分配权限
 */
export function assignRolePermissions(roleId, permissionIds) {
  return request({
    url: `/api/admin/roles/${roleId}/permissions`,
    method: 'post',
    data: { permissionIds }
  })
}

/**
 * 获取角色的权限列表
 */
export function getRolePermissions(roleId) {
  return request({
    url: `/api/admin/roles/${roleId}/permissions`,
    method: 'get'
  })
}

/**
 * 获取所有角色（不分页）
 */
export function getAllRoles() {
  return request({
    url: '/api/admin/roles/all',
    method: 'get'
  })
}